给定一个字符串num,字符串由0~9的正整数组成,你至多可以交换一次字符串中的任意两位字符,使得交换后的num代表的正整数尽可能大。
1.给定的num不会含有前导0,是一个合法的正整数类型的字符串
2.可以不交换,但是最多只能交换一次
数据范围:
"4556"
"6554"
交换6和4,可以获得最大的正整数6554
"5"
"5"
"8873"
"8873"
不需要交换
# @param num string字符串 # @return string字符串 # class Solution: def maximumSwap(self , num: str) -> str: # write code here max_value = num[-1] max_place = len(num)-1 for i in range(len(num)-2,-1,-1): if(num[i] > max_value): max_value = num[i] max_place = i num = list(num) for j in range(0,max_place): if(num[j] < max_value): num[j],num[max_place] = max_value,num[j] break return "".join(num)